home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
clipper
/
rpcxlb10.zip
/
RPCXLIB.DOC
< prev
next >
Wrap
Text File
|
1993-08-12
|
28KB
|
787 lines
.-------------------------------------------------------------------------.
| |
| RPCXLib version 1.0 (11/08/93) |
| |
| |
| (c) 1993 Rolf van Gelder, EINDHOVEN |
| |
|_________________________________________________________________________|
1 INTRODUCTION --------------------------------------------------------
RPCXLib is a CLIPPER LIBRARY with GRAPHIC FUNCTIONS.
Because RPCXLib is fully written in ASSEMBLER its functions are
VERY FAST !
Therefore the library is also INDEPENDENT of the Clipper version and
can be used in combination with Clipper Summer'87, Clipper 5.0,
Clipper 5.01, Clipper 5.2x, etc.
RPCXLib is the successor of the shareware function R_ShowPCX(),
a function to show PCX-files on the screen.
This function has been CONSIDERABLY IMPROVED and EXTENDED and is
included in the new RPCXLib library.
RPCXLib is a Shareware product :
You have the opportunity to try the program at no charge to see if
it meets your needs.
If you continue to use the program after evaluation,
please complete the included registration form (RPCXLib.FRM)
and send it with the applicable registration fee to the author.
FEATURES :
* RShowPCX function to display a PCX graphic file :
- very FAST !
- of UNLIMITED SIZE
- on a SPECIFIC screen location
- on EGA/VGA and SUPERVGA screens
- up to a resolution of 640 x 480 x 256 (SUPERVGA)
- with AUTOMATIC DETECTION and USE of almost all
SUPERVGA adapters
- with support of the INTERNATIONAL VESA STANDARD
* Functions to mix ones own CLIPPER COLOURS
YOU CAN COMPOSE 262.144 DIFFERENT COLOURS !
* Functions to slowly DIM the screen
* Functions to determine the GRAPHIC CONFIGURATION of a PC :
Is there a EGA, VGA, MCGA or SUPERVGA adapter available ?
When there is a SUPERVGA adapter available you can, in most
cases, determine the brand
* A NORTON GUIDE with a description of all functions in the library
2 GRAPHIC ADAPTERS AND VIDEO MODES ------------------------------------
The minimum requirements for using RPCXLib is a PC with an EGA card;
CGA and Hercules adapters are not supported.
To show PCX-files (using the function R_ShowPCX()) you can use
EGA, VGA and SuperVGA adapters.
EGA :
When you have an EGA adapter you are able to show 16 colour PCX-files
up to a dimension of 640 x 350 pixels.
(Maximum resolution: 640 x 350 x 16)
VGA :
When you have a STANDARD VGA adapter you are able to show 16 colour
PCX-files up to a dimension of 640 x 480 and 256 colour files up to
a dimension of 320 x 200 pixels.
(Maximum resolution: 640 x 480 x 16 or 320 x 200 x 256)
SuperVGA :
When you have a SUPERVGA adapter (which is supported by RPCXLib)
you are able to show 256 colours PCX-files up to a dimension of
640 x 480 pixels. Provided that the used adapter supports the
640 x 480 x 256 video mode.
(Maximum resolution: 640 x 480 x 256)
RPCXLib detects and uses the following SuperVGA adapters :
- Ahead Systems, type A & B
- ATI Wonder Card
- Chips & Technologies
- Everex VGA
- Genoa GVGA
- NCR 77C22
- Oak Technologies OTI-67
- Paradise VGA
- Trident 8800
- Trident 8900
- Tseng Labs ET3000
- Tseng Labs ET4000
- VESA BIOS Extensions
- Video 7
When your adapter is NOT listed above you probably still can use
the SuperVGA features of RPCXLib.
This can be done using the VESA BIOS EXTENSIONS driver.
VESA (Video Electronics Standards Association) is a standardization
in the field of graphic adapters.
For almost any SuperVGA card there is a little (TSR) program that
emulates the VESA standard. By using this program, RPCXLib will
work together with your (not listed) SuperVGA adapter.
The VESA emulation programs mentioned above are often included in
the software package that comes with the SuperVGA card.
When this is not the case you can probably find the program in the
Public Domain / Shareware circuit.
3 EGA/VGA COLOUR PALETTES ----------------------------------------------
In RPCXLib the are some functions to change the colour palette of your
EGA/VGA adapter. You can use these functions to compose your own
Clipper colour palette.
Clipper uses 16 pre-defined colours. Each Clipper colour is paired with
a so-called colour register. A colour register contains the "composition"
of a specific colour. This composition consists of a RED, GREEN and BLUE
component (values ranging from 0 to 63).
Some examples (values actually used by Clipper) :
------- Components -------
RED GREEN BLUE
BLACK 0 0 0
BRIGHT WHITE 63 63 63
NORMAL WHITE 42 42 42
GREY 21 21 21
BRIGHT RED 63 0 0
RED 42 0 0
GREEN 0 42 0
BLUE 0 0 42
MAGENTA 42 0 42
The composition of the Clipper colours can be found in the header
file (RPCXLib.CH).
Clipper DOESN'T use register numbers 0-15 but :
Registers # 0 - 7 : normal colours
Registers # 56 - 63 : bright colours
All Clipper colours and matching register numbers are listed in
the header file RPCXLib.CH.
Example :
To determine the register number of the Clipper colour MAGENTA you
can use the pre-defined PL_MAGENTA constant that substitutes the
correct register number.
The use of the palette functions is described in the next chapter.
4 FUNCTIONS IN RPCXLIB ------------------------------------------------
4.1 Function R_DefPal : Installs the default Clipper colour palette
Syntax
R_DefPal ()
Parameters
(None)
Returns
NIL
Description
By calling the R_DefPal () function the 16 Clipper colours are
initialized to their default values. This function is for example
useful at the end of an application : it makes sure that the
the colour palette is reset to its original state (after possible
changes you made to the palette).
Example
See the demo program PCXDemo.PRG
4.2 Function R_GetRGB : Determines the composition of a specific colour
Syntax
R_GetRGB ( nRegNr, @nRed, @nGreen, @nBlue )
Parameters
nRegNr Number of the colour register of which the composition
has to be determined
(range : 0-63)
@nRed Variable (BY REFERENCE !) to which the RED component
is returned
(range : 0-63)
@nGreen Variable (BY REFERENCE !) to which the GREEN component
is returned
(range : 0-63)
@nBlue Variable (BY REFERENCE !) to which the BLUE component
is returned